#ifndef ARCHIVO_H
#define ARCHIVO_H


#include <set>

#include "models/Recurso.h"
#include "models/Comentario.h"
#include "interfaces/IObservadorArchivo.h"


class Archivo: public Recurso{

private:
		set<Comentario*> comentarios;
		set<IObservadorArchivo*> observadores;
		int id;

public:
		Archivo(void);

		// Operations
		int cantidadComentarios();

        void agregar(IObservadorArchivo *observador);
        void eliminar(IObservadorArchivo *observador);
        void modificar(string tipoAccion);

        set<Comentario*> getComentariosArchivo();

        void imprimirInfoArchivo();
        void imprimirInfoExtendidaArchivo();
        void imprimirComentariosArchivo();

        int getId();

        ~Archivo();

};

#endif
